package userfunctions;

import java.util.Vector;
import userfunctions.packets.admin.*;

/**
 * Klasa bedaca instancja uzytkownika Administrator.
 * @author Kamil Woźnicki i Michał Krajewski
 */
public class Administrator extends Banker {
    /**
     * Metoda usuwa wybranego bankiera.
     * @param numerBankiera numer wewnetrzny bankiera.
     * @return Wartosc logiczna okreslajaca powodzenie operacji.
     */
    public boolean usunBankiera(String numerBankiera) {
        sendPacket(new PacketDeleteBanker(numerBankiera));
        return handleResponse();
    }
    
    /**
     * Metoda edytuje uprawnienia pewnego bankiera.
     * @param numerBankiera Numer bankiera.
     * @param uprawnienia Uprawnienia bankiera.
     * @return Wartosc logiczna okreslajaca powodzenie operacji.
     */
    public boolean edytujUprawnienia(String numerBankiera, int uprawnienia) {
        sendPacket(new PacketModifyBanker(numerBankiera, uprawnienia));
        return handleResponse();
    }
    
    /**
     * Metoda pobiera liste wszystkich bankierow.
     * @return Vector zawierajacy dane bankierow.
     */
    public Vector<String> listujBankierow() {
        sendPacket(new PacketListBankers());
        return handleVector();
    }
}
